package cn.szbo.jksystem.core;

import java.util.List;
import java.util.Map;

import org.springframework.jdbc.core.RowMapper;

/**
 * @author nick xue
 * 
 *         2012-7-20 下午3:47:50
 */
public abstract class GenericServiceImpl<T extends Object> implements
		GenericService<T> {

	protected abstract GenericDao<T> getGenericDao();

	public int insert(String sql, List<Object> values) {
		return this.getGenericDao().insert(sql, values);
	}

	public int update(String sql, List<Object> values) {
		// TODO Auto-generated method stub
		return 0;
	}

	public int delete(String sql, List<Object> values) {
		// TODO Auto-generated method stub
		return 0;
	}

	public long queryForLong(String sql, List<Object> values) {
		// TODO Auto-generated method stub
		return 0;
	}

	public List<Map> queryForList(String sql, List<Object> values) {
		// TODO Auto-generated method stub
		return null;
	}

	public Map<String,Object> queryForSingle(String sql, List<Object> values) {
		// TODO Auto-generated method stub
		return this.getGenericDao().queryForSingle(sql, values);
	}

	public Object queryForSingle(String sql, List<Object> values,
			RowMapper userObject) {
		return this.getGenericDao().queryForSingle(sql, values, userObject);
	}

	// public int deleteByPrimaryKey(String sid) {
	// return this.getGenericDao().deleteByPrimaryKey(sid);
	// }
	//
	// public int insert(T entity) {
	// return this.getGenericDao().insert(entity);
	// }
	//
	// public int insertSelective(T entity) {
	// return this.getGenericDao().insertSelective(entity);
	// }
	//
	// public T selectByPrimaryKey(String sid) {
	// return this.getGenericDao().selectByPrimaryKey(sid);
	// }
	//
	// public int updateByPrimaryKeySelective(T entity) {
	// return this.getGenericDao().updateByPrimaryKeySelective(entity);
	// }
	//
	// public int updateByPrimaryKey(T entity) {
	// return this.getGenericDao().updateByPrimaryKey(entity);
	// }
	//
	// public List<T> selectBySelective(T entity) {
	// return this.getGenericDao().selectBySelective(entity);
	// }
	//
	// public int deleteBySelective(T entity) {
	// return this.getGenericDao().deleteBySelective(entity);
	// }
	//
	// public int insertByBatch(List<T> list) {
	// return this.getGenericDao().insertByBatch(list);
	// }
	//
	// public int deleteByBatch(List<String> idList) {
	// return this.getGenericDao().deleteByBatch(idList);
	// }
	//
	// public Pagination<T> selectByPage(Pagination<T> page) {
	// long totalRecords = this.getGenericDao().selectRecordCountByPage(page);
	// page.setTotalRecords((int) totalRecords);// 分页总记录数
	// page.setTotalPages(page.countTotalPages());// 分页总页�?
	// page.setCurrentPage(page.countCurrentPage());// 当前�?
	// page.setStartRow(page.countStartRow());// 当前记录起始索引
	// List<T> results = this.getGenericDao().selectPageDataByPage(page);
	// page.setResults(results);// 分页数据
	// return page;
	// }

}
